<?php

namespace pmvc\ioc;

class ObjectDescriptor {
	public function __construct(
		$id, $class, $name=null, $properties=Array(), $constructorArgs=Array(),
		$singleton=true, $abstract=false, $parent=null, $lazy=false, $initMethod=null,
		$destroyMethod=null, $factoryClass=null, $preloadFile=null) {
		$this->id				= $id;
		$this->name				= $name;
		$this->class			= $class;
		$this->properties		= $properties;
		$this->constructorArgs	= $constructorArgs;
		$this->singleton		= $singleton;
		$this->abstract			= $abstract;
		$this->parent			= $parent;
		$this->lazy				= $lazy;
		$this->initMethod		= $initMethod;
		$this->destroyMethod	= $destroyMethod;
		$this->factoryClass		= $factoryClass;
		$this->preloadFile		= $preloadFile;
	}
	public $id				= null;
	public $name			= null;
	public $class 			= null;
	public $singleton		= true;
	public $abstract		= false;
	public $parent			= null;
	public $constructorArgs	= Array();
	public $properties		= Array();
	public $lazy			= false;
	public $initMethod		= null;
	public $destroyMethod	= null;
	public $factoryClass	= null;
	public $preloadFile		= null;
}

?>